package datastruct;

import java.util.Arrays;

/**
 思想：在要排序的一组数中，选出最小的一个数与第一个位置的数交换；
 然后在剩下的数当中再找最小的与第二个位置的数交换，
 如此循环到倒数第二个数和最后一个数比较为止。
**/

public class Choice {
	
	public static void main(String [] args){
		
		int a[] = {1, 2, 5, 3, 4, 7, 9, 8, 4, 0};
		
		 selectSort(a);
		
		
	}
	/**
	  外循环去除已经排好序的
	   内循环排序
	**/
	public static void selectSort(int []array ){
		 int position =0;// 记录最小值位置
		 for(int i=0;i<array.length;i++){
			 int j=i+1;
			 position=i;
			 int temp=array[i];// 最小值ֵ
			 for(;j<array.length;j++){
				 if(array[j]<temp){
					 temp=array[j];
					 position=j;
				 }
			 }
			 // 交换
			 array[position]=array[i];
			 array[i]=temp;
		 }
		 System.out.println(Arrays.toString(array)+ " selectSort ");
	}
	
	
}